<?php namespace Common\Model;
use Hdphp\Model\Model;
/**
* 后台用户表模型
* 田昭鹏
*/
class Auser extends Model{
	// 指定操作的表
	protected $table='auser';
	// 自动验证
	protected $validate=array(
		array('username','required','用户名不能为空',3,3)
		);
	// 自动完成
	protected $auto=array(
		array('time','time','function',3,3),
		);

	// 登录方法
	public function login(){
		// 自动验证
		if(!$this->create()) return FALSE;
		// 获取用户名密码
		$username=$_POST['username'];
		$password=$_POST['password'];
		// 拉取用户数据
		$userData=$this->where('username',$username)->find();
		// 判断用户名
		if(!$userData){
			$this->error='用户名不存在';
			return FALSE;
		}
		// 进行加密
		$password=$this->enctype($username,$password);
		// 判断密码
		if($password!=$userData['password']){
			$this->error='密码不正确';
			return FALSE;
		}
		// 存入session
		$_SESSION['aid']=$userData['aid'];
		$_SESSION['aname']=$userData['username'];
		// 返回成功
		return TRUE;
	}
	// 加密方法
	private function enctype($username,$password){
		return md5(md5($username).md5($password).'fanke');
	}
	// 修改密码方法
	public function changePass(){
		// 自动验证
		$this->validate=array(
			array('password','required','原密码不能为空',3,3),
			array('newPassword','required','新密码不能为空',3,3),
			array('confirmPassword','required','确认密码不能为空',3,3),
			array('newPassword','confirm:confirmPassword','两次密码输入不一致',3,3),
			);
		if(!$this->create()) return FALSE;
		// 拉取用户数据
		$aid=$_SESSION['aid'];
		$userData=$this->where('aid',$aid)->find();
		// 判断原密码是否正确
		$username=$userData['username'];
		$password=$_POST['password'];
		$password=$this->enctype($username,$password);
		// 判断
		if($password!=$userData['password']){
			$this->error='原密码不正确';
			return FALSE;
		}
		// 新密码写入数据库
		$password=$this->enctype($username,$_POST['newPassword']);
		$result=$this->where('aid',$aid)->update(array('password'=>$password));
		if(!$result){
			$this->error='修改失败';
			return FALSE;
		}
		// 清理session
		session_unset();
		session_destroy();
		// 返回成功
		return TRUE;
	}


	// 登陆信息记录
	public function record(){
		// 获取登陆者的id
		$data['aid']=$_SESSION['aid'];
		// 获取登录时间
		$data['time']=time();
		// 获取登录ip
		$data['loginip']=$_SERVER['REMOTE_ADDR'];
		// 改变登录状态
		$data['status']=1;
		// 存进数据库
		$this->save($data);
	}

	// 离线方法
	public function offline(){
		// 获取登陆者的id
		$data['aid']=$_SESSION['aid'];
		// 改变登录状态
		$data['status']=0;
		// 存进数据库
		$this->save($data);
	}

	// 添加管理员方法
	public function store(){
		// 自动验证
		if(!$this->create()) return FALSE;
		// 改变密码
		$this->data['password']=$this->enctype(Q('post.username'),Q('post.password'));
		// 添加进数据库
		$this->add();
		// 返回值
		return TRUE;
	}
}





 ?>